package com.ht.module.bus.service.impl;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ht.constant.DicConstants;
import com.ht.module.bus.entity.BusFile;
import com.ht.module.bus.mapper.BusFileMapper;
import com.ht.module.bus.service.IBusFileService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ht.module.common.service.CommonService;
import com.ht.util.CommMethod;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;

/**
 * <p>
 * 业务文件关联表 服务实现类
 * </p>
 *
 * @author Auto-generator
 * @since 2021-12-03
 */
@Service
public class BusFileServiceImpl extends ServiceImpl<BusFileMapper, BusFile> implements IBusFileService {
    @Autowired
    private CommonService commonService;

    @Override
    public List<BusFile> findList(BusFile en) {
        QueryWrapper<BusFile> qw=new QueryWrapper<>();
        if(StrUtil.isNotEmpty(en.getTableId())){
            qw.eq("table_id",en.getTableId());
        }
        if(StrUtil.isNotEmpty(en.getFileBusiness())){
            qw.eq("file_business",en.getFileBusiness());
        }
        return baseMapper.selectList(qw);
    }

    @Override
    public BusFile add(BusFile busFile) {
        CommMethod.beanCreate(busFile);
        busFile.setPath(commonService.uploadFile(busFile.getFile()))
                .setName(busFile.getFile().getOriginalFilename())
                .setFileType(CommMethod.getFileSuffix(Objects.requireNonNull(busFile.getFile().getOriginalFilename())))
                .setSize(new BigDecimal((busFile.getFile().getSize()/1024)+"").setScale(2, BigDecimal.ROUND_HALF_UP));
        this.save(busFile);
        busFile.setFile(null);
        return busFile;
    }


}
